package com.cheung.leetcode.day;

import  org.junit.jupiter.api.Test;

/**
 * @BelongsProject : java-leetcode
 * @BelongsPackage : com.cheung.leetcode.day
 * @Author :  cheungming
 * @CreateTime : 2024-07-06 09:18:12
 * @Description : 每日 一题
 * @Version : 1.0
 */
public class Code3101Test {
    public long countAlternatingSubarrays(int[] nums) {
        // 计算下标为i的子数组的个数，知道如果nums[i]=nums[i-1],则个数为1，也就是nums[i]自己
        // 如果nums[i]!=nums[i-1]，则个数为nums[i-1]的个数+1
        long sum = 0;
        long cur = 0;
        for (int i = 0; i < nums.length; i++) {
            if (i > 0 && nums[i] != nums[i - 1]) {
                cur++;
            } else {
                cur = 1;
            }
            sum += cur;
        }

        return sum;
    }


    @Test
    public void test1() {
        int[] nums = {0, 1, 1, 1};
        assert countAlternatingSubarrays(nums) == 5;
    }
}
